uboot下pwm的使用

在Ispahan 和 Pudding的stable分支支持在uboot下边使用pwm,下面介绍使用方法:

  • 确保uboot下的pwm配置已打开;

  • 在uboot 目录下,执行make menuconfig;

编译下载uboot.

在系统的uboot界面, 使用命令 pwm [id] [duty] [period] [pad]

pwm 0 100000 200000 14 //pwm0输出5000HZ, duty cycle=50%,PAD为PAD_FUART_RX.

测量相应的pad脚就能够测量出波形了.

如果出现下图中的情况:

请到 /boot/driver/pwm/infinity6e(infinity6b0)/hal_pwm.c查看padTbl_0中是否有该引脚

相关接口介绍:       

Step1: DrvPWMInit(id); //初始化PWM模组, id=0代表PWM0, 1=PWM1….依序

Step2: DrvPWMSetConfig(id, duty, period_ns); //设置duty以及period

举例set 5000Hz duty 50% pwm waveform

period_value = 1000000000 / 5000 = 200000

duty_value = period_value * 50%  = 100000

Step3: DrvPWMEnable(id, enable, pad);//PWMid状态为enable并指定出到哪个PAD, 快速搜索pwmPadTbl_t